/**
 * 项目名：五位一体化工安全信息平台
 * 日期：    2019-12-03 14:14:47
 * Copyright (c) 2015- joysuch-版权所有
 */

package com.joysuch.wwyt.bp.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.joysuch.wwyt.bp.bean.BpStorageTankAreaAddBean;
import com.joysuch.wwyt.bp.bean.BpStorageTankAreaBean;
import com.joysuch.wwyt.bp.entity.BpStorageTank;
import com.joysuch.wwyt.bp.entity.BpStorageTankArea;
import com.joysuch.wwyt.bp.entity.dto.BpStorageTankAreaDto;
import com.joysuch.wwyt.bp.entity.dto.BpStorageTankDto;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface BpStorageTankAreaService {

    String add(BpStorageTankAreaAddBean entity);

    String update(BpStorageTankAreaAddBean s);

    ResultBean findByPage(Pageable page);

    /**
     * 只查看罐区
     * @param page  分页
     * @param name  名称模糊搜索
     * @param status 状态:0: 未设置 1: 已设置
     * @return
     */
    IPage<BpStorageTankAreaDto> findTankAreaByPage(Pageable page, String name, Integer status);

    void delete(Long id);

    BpStorageTankAreaBean findById(Long id);

    BpStorageTankArea findByCode(String code);

    void deleteById(Long id);

    /**
     * 只查看储罐
     * @param page 分页
     * @param name 名称模糊搜索
     * @param status 状态:0: 未设置 1: 已设置
     * @return
     */
    IPage<BpStorageTankDto> findTankByPage(Pageable page, String name, Integer status);


    /**
     * 查看罐区的数量，
     * @param flag 0 : 所有数量 1: 拥有位置的数量
     * @return
     */
    Long getNumForHaveLocationForArea(Integer flag);


    /**
     * 查看储罐的数量，
     * @param flag 0 : 所有数量 1: 拥有位置的数量
     * @return
     */
    Long getNumForHaveLocationForTank(Integer flag);

    /**
     * 查看所有有位置的罐区
     * @return
     */
    List<BpStorageTankAreaDto> findAllHaveLocation();

    /**
     * 查看所有有位置的储罐
     * @return
     */
    List<BpStorageTankDto> findAllHaveLocationForTank();
}
